

#define QUERY_CMD_GET      1
#define QUERY_CMD_DELETE   2
#define QUERY_CMD_UPDATE   3
#define QUERY_CMD_ADD      4 
#define QUERY_CMD_LINK     5
#define QUERY_CMD_DELINK   6
#define QUERY_CMD_RELATE   7
#define QUERY_CMD_UNRELATE 8
#define QUERY_CMD_CLASS    9 /* for CLASS and CHANGE */

class QuerySpec {
 public:
  QuerySpec ( unsigned int comm );
  QuerySpec ( unsigned int comm, ObjectSpec *spec );
  QuerySpec ( unsigned int comm, Expr *name);
  void setClassSpec (ClassSpec *spec);

 private:
  unsigned int command;

  Expr *className;
  ObjectSpec *objTree;

  ClassSpec *classSpec;
};
